namespace MEF_Test.VideoRenderer.LocalVideoRenderer
{
    using System;
    using System.ComponentModel.Composition;

    using MEF_Test.Contracts;

    //[Export(typeof(IVideoRendererController))]
    public class DummyVideoRenderer : IVideoRendererController
    {
        private IVideoRendererViewFactory _videoRendererViewFactory;

        private IVideoRendererViewModelFactory _videoRendererViewModelFactory;

        #region Constructors and Destructors

        /// <summary>
        /// Initializes a new instance of the <see cref="DummyVideoRenderer"/> class.
        /// </summary>
        public DummyVideoRenderer()
        {
            // TODO : use config file to define the value of the TargetMonitor.
            this.TargetMonitor = 0;
        }

        #endregion

        #region Properties

        /// <summary>
        /// Gets the target monitor.
        /// </summary>
        /// <value>The target monitor.</value>
        public int TargetMonitor { get; private set; }

        #endregion

        #region Implemented Interfaces

        #region IVideoRenderer

        /// <summary>
        /// Opens the video.
        /// </summary>
        /// <param name="browserNodeViewModel">The browser node view model.</param>
        public void OpenVideo(IBrowserNodeViewModel browserNodeViewModel)
        {
            throw new NotSupportedException("Dummy implementation not implemented !");
            //IVideoRendererViewModel viewModel = _videoRendererViewModelFactory.Create(null, browserNodeViewModel.FileHandler);
            //var rendererWindow = _videoRendererViewFactory.Create(viewModel);
        }

        #endregion

        #endregion
    }
}